.ambush-scene { position:fixed; inset:0; z-index:100000; display:flex; flex-direction:column; background:#030303; color:#eee9df; isolation:isolate; }
.ambush-scene__content { position:relative; flex:1; min-height:0; overflow:hidden; }
.ambush-scene__art,.ambush-scene__video { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.ambush-scene__video { background:#000; }
.ambush-scene__text { position:absolute; z-index:2; bottom:0; left:0; right:0; margin:0; padding:28px 6vw; font-size:clamp(16px,2vw,22px); line-height:1.5; text-align:center; background:linear-gradient(transparent,rgba(0,0,0,.95)); pointer-events:none; }
.ambush-scene__text:empty { display:none; }
.ambush-scene__controls { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; padding:12px 16px max(16px,env(safe-area-inset-bottom)); }
.ambush-scene button { min-height:44px; padding:12px 26px; max-width:100%; border:1px solid #8a8069; border-radius:3px; background:#292820; color:#f5eddc; font:inherit; cursor:pointer; }
.ambush-scene button:focus-visible { outline:2px solid #e9dba7; outline-offset:3px; }
.ambush-scene button:disabled { opacity:.45; cursor:default; }
.ambush-scene__blackout { position:absolute; inset:0; z-index:4; background:#000; pointer-events:none; animation:ambush-blackout 1.8s ease-in-out both; }
@keyframes ambush-blackout { 0% {opacity:0} 12%,55% {opacity:1} 100% {opacity:0} }
@media(prefers-reduced-motion:reduce) { .ambush-scene__blackout {animation:none} }
